Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document and Test Dual Sign Convention #3528

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

michaelbynum
Copy link
Contributor

Fixes #3519.

Summary/Motivation:

This PR adds documentation and tests for the dual sign convention adopted in the new solver interfaces.

Legal Acknowledgement

By contributing to this software project, I have read the contribution guide and agree to the following terms and conditions for my contribution:

  1. I agree my contributions are submitted under the BSD license.
  2. I represent I am authorized to make the contributions and grant the license. If my employer has rights to intellectual property that includes these contributions, I represent that I have received permission to make contributions and grant the required license on behalf of that employer.

@bernalde
Copy link
Contributor

I believe this affects MindtPy and GDPOpt as in the implementation of outer-approximation algorithms; we are making assumptions on the directions or the multipliers
@ZedongPeng @emma58

@michaelbynum
Copy link
Contributor Author

Are MindtPy and/or GDPOpt using the new solver interfaces in contrib/solver/?

@bernalde
Copy link
Contributor

Are MindtPy and/or GDPOpt using the new solver interfaces in contrib/solver/?

Not that I know of, but it might be worth revisiting this

@emma58
Copy link
Contributor

emma58 commented Mar 21, 2025

Are MindtPy and/or GDPOpt using the new solver interfaces in contrib/solver/?

Not that I know of, but it might be worth revisiting this

There's nothing to stop someone from using them as subsolvers--we have those as config arguments. And we aren't testing with them currently, so I think it is possible we could be running afoul of the dual sign convention? But of course, it was before too since we let anyone stick any solver in there...

@michaelbynum
Copy link
Contributor Author

For what it is worth, I did not have to change any code for this PR. I just added documentation and tests.

@michaelbynum
Copy link
Contributor Author

I still need to address maximization problems as mentioned in #3519. I'll convert this to a draft for now.

@michaelbynum michaelbynum marked this pull request as draft March 24, 2025 14:01
Copy link
Contributor

@Robbybp Robbybp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you document the following:

  • What happens for maximization problems?
  • How does this formulation map onto "range inequalities"? (I believe the dual's sign implies one side and the other side is implicitly zero.)

@michaelbynum
Copy link
Contributor Author

Great suggestions. Will do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PEP: Dual Sign Convention
5 participants